package com.ruoyi.asset.cleaning.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.asset.cleaning.domain.SweepCleaning;
import com.ruoyi.asset.cleaning.domain.bo.CleaningCommunityCountBo;
import com.ruoyi.asset.cleaning.domain.bo.CleaningRoadTypeBo;
import com.ruoyi.asset.cleaning.domain.bo.SweepCleaningBo;
import com.ruoyi.asset.cleaning.domain.bo.SweepCleaningStatisticsBo;
import com.ruoyi.asset.cleaning.domain.vo.SweepCleaningVo;
import com.ruoyi.common.core.mapper.BaseMapperPlus;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

/**
 *  清扫保洁
 * @author 12276
 */
public interface SweepCleaningMapper extends BaseMapperPlus<SweepCleaningMapper, SweepCleaning, SweepCleaningVo> {

    /**
     * 删除清扫保洁
     */
    int logicDeleteCleaning(@Param("idsSet") Set<Long> idsSet);

    /**
     *  分页查询清扫保洁管理范围
     */
    Page<SweepCleaningVo> selectCleaning(IPage<SweepCleaningVo> page, @Param("searchBo") SweepCleaningBo searchBo);

    /**
     * 查询清扫保洁管理范围
     */
    List<SweepCleaningVo> exportCleaning(@Param("searchBo") SweepCleaningBo searchBo);

    /**
     * 统计面积
     * @return
     */
    Double selectAreaCount();

    /**
     * 统计社区面积
     * @return
     * @param community
     */
    List<CleaningRoadTypeBo> selectCommunityAreaCount(@Param("community") String community);

    List<CleaningRoadTypeBo> selectByCommunityAndDateCount(@Param("community") String community, @Param("date")String date);

    Double selectCleaningCountByCommunity(@Param("date") String date,@Param("community") String community);
}
